//
// Created by 28735 on 2024/11/22.
//

#ifndef TRAVERSE_H
#define TRAVERSE_H

#include <list>
#include <queue>
#include <stack>
#include <vector>

#include "../../entity/graph/AdjacentMatrix.h"
/*  无向图*/
/*  邻接矩阵*/



inline void floyd(MGraph_c mGraphC) {
    //set i to path for relaying
    for (int i = 0; i < mGraphC.vertex_count; ++i) {

        //set j to jumping-off point for traversing
        for (int j = 0; j < mGraphC.vertex_count; j++) {

            //traversing same row by k
            for (int k = 0; k < mGraphC.vertex_count; k++) {
                if (mGraphC.matrix[j][i].value != -1 && mGraphC.matrix[i][k].value != -1 &&
                    (mGraphC.matrix[j][i].value + mGraphC.matrix[i][k].value) < mGraphC.matrix[j][k].value) {
                    //update location matrix
                }
            }

        }

    }
}

inline int maximum(int arr[]){
    
    return -1;
}

#endif //TRAVERSE_H
